package com.voxel.sense.infomsg.module.task.execution.report.details;

import com.example.com.common.app.BaseContract;

import java.util.List;

/**
 * @author ChenYiYao
 * @date 2018/5/14
 * des :
 */
public interface TaskReportContract {

    int UP_REPORT = 1; //首次上传报告表格
    int ALTER_REPORT = 2; //修改报告表格
    int LOOK_REPORT = 3; //查看表格

    interface View<DATA> extends BaseContract.View<Presenter> {
        //刷新数据
        void onRefreshData(List<DATA> data);

        //当适配器数据更改时触发
        void onAdapterDataChanged();

        /**
         * 拉起snackBar
         *
         * @param msg 显示文本信息
         */
        void showSnackbar(String msg);

        /**
         * 上传表格成功
         */
        void onUpReportSuccess();
    }

    interface Presenter extends BaseContract.Presenter {
        /**
         * @param formCode 表格code
         */
        void doLoadRePort(String formCode);

        /**
         * 加载已有值的表格
         *
         * @param formCode 表格code
         * @param tastNumb 任务编号
         * @param status   操作状态
         */
        void doLoadExistRePort(String formCode, String tastNumb, int status);


        /**
         * 上传表格
         *
         * @param list     数据源
         * @param TaskNumb
         * @param status   操作状态，1 上传 2修改 3查看不可编辑
         */
        void doUpLoadReport(List list, String TaskNumb, int status);


    }

}
